*Replication Code for Henry E. Hale, "A 'Terrific Symbol'," PS, 20210915


use "Data_Replication_Hale_PS_USA_YouGov202005_v20210915ta", replace

svyset [pweight=weight]

*Independent variables
recode pid3 (1=1) (2=0) (3=0) (4=0) (5=0), gen(dem)
recode pid3 (1=0) (2=1) (3=0) (4=0) (5=0), gen(rep)
recode pid3 (1=0) (2=0) (3=1) (4=0) (5=0), gen(ind)
recode pid3 (1=0) (2=0) (3=1) (4=1) (5=1), gen(nondemrep)
generate age=2020-birthyr
recode gender (1=0) (2=1), gen(female)
recode race (1=1) (2=0) (3=0) (4=0) (5=0) (6=0) (7=0) (8=0), gen(white)
recode educ (1=0) (2=0) (3=1) (4=1) (5=1) (6=1), gen(highedx2)
generate income=faminc_new
replace income=. if faminc_new==97
generate under40k=1 if faminc<5
replace under40k=0 if under40k==.
recode urbancity (1=0) (2=0) (3=0) (4=1) (5=0), gen(ruralx2)
recode Q6 (1=1) (2=1) (3=0) (4=0), gen(checkany)
recode Q6 (1=0) (2=1) (3=0) (4=0), gen(checkmail)
recode Q6 (1=1) (2=0) (3=0) (4=0), gen(checkelec)
recode presvote16post (1=0) (2=1) (3=0) (4=0) (5=0) (6=0) (7=0), gen(trumpvot16x2elig)
replace trumpvot16x2elig=. if age<22
recode presvote16post (1=1) (2=0) (3=0) (4=0) (5=0) (6=0) (7=0), gen(clinvot16x2elig)
replace clinvot16x2elig=. if age<22

*Dependent variables: likelihood of voting for president, governor (mayor in DC)
recode Q2a (1=6) (2=5) (3=4) (4=3) (5=2) (6=1), gen(vottrx6)
generate votgovx=Q2b
replace votgovx=Q2c if votgovx==.
recode votgovx (1=6) (2=5) (3=4) (4=3) (5=2) (6=1), gen(votgovx6)
drop votgovx

*Eligibility to receive stimulus payment
generate eligible=1 if faminc<10
replace eligible=1 if marstat==1 & faminc<13
replace eligible=0 if eligible==.
replace eligible=. if faminc==97


***************************************************************************
********************************* Main Text *******************************
***************************************************************************

*Table 1
eststo clear
regress vottrx6 checkmail if eligible==1
eststo: margins, dydx(*)
svy: regress vottrx6 checkmail if eligible==1
eststo: margins, dydx(*) vce(unconditional) post
ologit vottrx6 checkmail if eligible==1
eststo: margins, dydx(*)
regress vottrx6 checkmail checkelec income under40k white dem rep highed female age ruralx2 if eligible==1
eststo: margins, dydx(*) 
svy: regress vottrx6 checkmail checkelec income under40k white dem rep highed female age ruralx2 if eligible==1
eststo: margins, dydx(*) vce(unconditional) post
ologit vottrx6 checkmail checkelec income under40k white dem rep highed female age ruralx2 if eligible==1
eststo: margins, dydx(*)
xtset faminc
xtreg vottrx6 checkmail checkelec white dem rep highed female age ruralx2 if eligible==1, fe
eststo: margins, dydx(*) post
feologit vottrx6 checkmail checkelec white dem rep highed female age ruralx2 if eligible==1, group(faminc)
eststo: margins, dydx(*) post
esttab using Table1_20210915.rtf, compress b(%9.2f) star(* 0.05 ** 0.01) se coeflabel(checkmail "Check mail" checkelec "Direct dep" income "Income" under40k "Under 40k" white  "White" dem "Democrat" rep "Republican" highedx2 "Higher educ" female "Female" age "Age" ruralx2 "Rural") mtitles("OLS" "OLSw" "Olog" "OLS" "OLSw" "Olog" "FE" "FEolog" ) title("Average marginal Effect of receiving coronavirus stimulus check bearing president's name by mail on likelihood of voting for him (6-point scales) May 4-11, 2020 as estimated using OLS, OLS with propensity weights (OLSw), ordinal logit (Olog), fixed effects (FE), and ordinal logit fixed effects (FEolog)") fonttbl(\f0\fnil Times New Roman; ) replace 
eststo clear

*Table 2
eststo clear
regress vottrx6 checkmail checkelec income under40k white dem rep highed female age ruralx2 if eligible==1 & rep==1
eststo: margins, dydx(checkmail)
regress vottrx6 checkmail checkelec income under40k white dem rep highed female age ruralx2 if eligible==1 & rep==0
eststo: margins, dydx(checkmail)
regress vottrx6 checkmail checkelec income under40k white dem rep highed female age ruralx2 if eligible==1 & dem==1
eststo: margins, dydx(checkmail)
regress vottrx6 checkmail checkelec income under40k white dem rep highed female age ruralx2 if eligible==1 & rep==0 & dem==0
eststo: margins, dydx(checkmail)
regress vottrx6 checkmail checkelec income under40k white dem rep highed female age ruralx2 if eligible==1 & trumpvot16x2elig==1
eststo: margins, dydx(checkmail)
regress vottrx6 checkmail checkelec income under40k white dem rep highed female age ruralx2 if eligible==1 & trumpvot16x2elig==0
eststo: margins, dydx(checkmail)
regress vottrx6 checkmail checkelec income under40k white dem rep highed female age ruralx2 if eligible==1 & clinvot16x2elig==1
eststo: margins, dydx(checkmail)
regress vottrx6 checkmail checkelec income under40k white dem rep highed female age ruralx2 if eligible==1 & trumpvot16x2elig==0 & clinvot16x2elig==0
eststo: margins, dydx(checkmail)
esttab using Table2_20210915.rtf, compress b(%9.2f) star(* 0.05 ** 0.01) se coeflabel(checkmail "Check in mail") mtitles("R" "NoR" "D" "NoR-D" "Tvot" "NoTvot" "Cvot" "NoC-T") title("Effect of receiving coronavirus stimulus check with President Donald Trump's name on it (by mail) on the likelihood of voting for Trump (6-point scale) among groups with different priors (Republican "R", not Republican "NoR", Democrat "D", not Republican or Democrat "NoR-D", Trump voter "Tvot", not Trump voter "NoTvot", Clinton voter "Cvot", not Clinton or Trump voter "NoC-T"), May 4-11, 2020  (OLSmodel, unweighted, full set of controls included but not reported here)") fonttbl(\f0\fnil Times New Roman; ) replace 
eststo clear

*Table 3
eststo clear
regress vottrx6 checkmail if checkany==1
eststo: margins, dydx(*)
svy: regress vottrx6 checkmail if checkany==1
eststo: margins, dydx(*) vce(unconditional) post
ologit vottrx6 checkmail if checkany==1
eststo: margins, dydx(*)
regress vottrx6 checkmail income under40k white dem rep highed female age ruralx2 if checkany==1
eststo: margins, dydx(*) 
svy: regress vottrx6 checkmail income under40k white dem rep highed female age ruralx2 if checkany==1
eststo: margins, dydx(*) vce(unconditional) post
ologit vottrx6 checkmail income under40k white dem rep highed female age ruralx2 if checkany==1
eststo: margins, dydx(*)
xtset faminc
xtreg vottrx6 checkmail white dem rep highed female age ruralx2 if checkany==1, fe
eststo: margins, dydx(*) post
feologit vottrx6 checkmail white dem rep highed female age ruralx2 if checkany==1, group(faminc)
eststo: margins, dydx(*) post
esttab using Table3_20210915.rtf, compress b(%9.2f) star(+ .1 * 0.05 ** 0.01) se coeflabel(checkmail "Check mail" checkelec "Direct dep" income "Income" under40k "Under 40k" white  "White" dem "Democrat" rep "Republican" highedx2 "Higher educ" female "Female" age "Age" ruralx2 "Rural") mtitles("OLS" "OLSw" "Olog" "OLS" "OLSw" "Olog" "FE" "FEolog" ) title("Average marginal Effect of receiving mailed check versus electronic transfer on likelihood of voting for Trump (6-point scales) May 4-11, 2020 as estimated using OLS, OLS with propensity weights (OLSw), ordinal logit (Olog), fixed effects (FE), and ordinal logit fixed effects (FEolog), only people who received transfers in any form included in the analysis") fonttbl(\f0\fnil Times New Roman; ) replace 
eststo clear




***************************************************************************
*************************** Supplementary Material ************************
***************************************************************************

*Table SM1: Summary statistics
asdoc sum vottrx6 checkmail checkelec income under40k white dem rep highed female age ruralx2 eligible votgovx6, font(Times New Roman) title(Table SM1. Summary statistics for main variables used in the analysis) save(TableSM1_20210915) replace

*Table SM2: Balance table
balancetable (mean if checkany==0) (mean if checkmail==1) (mean if checkelec==1) (diff checkmail if checkelec!=1) (diff checkelec if checkmail!=1) income white dem rep highed female age ruralx2 using TableSM2_20210915.tex, replace

*Table SM3: Balance table 2
balancetable (mean if checkelec==1) (mean if checkmail==1) (diff checkmail) income white dem rep highed female age ruralx2 using TableSM3_20210915.tex, replace

*Table SM4: payment receipt by type
tabulate Q6
tabulate Q6 if eligible==1

*Table SM5: DV = Governor vote (all, GOP)
regress votgovx6 checkmail checkelec income under40k white dem rep highed female age ruralx2 if eligible==1
eststo: margins, dydx(*)
ologit votgovx6 checkmail checkelec income under40k white dem rep highed female age ruralx2 if eligible==1
eststo: margins, dydx(*)
regress votgovx6 checkmail checkelec income under40k white dem rep highed female age ruralx2 if eligible==1 & govrepub==1
eststo: margins, dydx(*)
ologit votgovx6 checkmail checkelec income under40k white dem rep highed female age ruralx2 if eligible==1 & govrepub==1
eststo: margins, dydx(*)
esttab using TableSM5_20210915.rtf, compress b(%9.2f) star(* 0.05 ** 0.01) se coeflabel(checkmail "Check mail" checkelec "Direct dep" income "Income" under40k "Under 40k" white  "White" dem "Democrat" rep "Republican" highedx2 "Higher educ" female "Female" age "Age" ruralx2 "Rural") mtitles("Gov OLS" "Gov Ologit" "GOP gov OLS" "GOP gov Ologit") title("Effect of receiving coronavirus stimulus check bearing president's name by mail on likelihood of voting for incumbent governor in all states and GOP-governor states only (6-point scales), May 4-11, 2020 using unweighted OLS and ordinal logit (Ologit) models") fonttbl(\f0\fnil Times New Roman; ) replace 
eststo clear

*Table SM6
eststo clear
svy: ologit vottrx6 checkmail if eligible==1
eststo
svy: ologit vottrx6 checkmail checkelec income under40k white dem rep highed female age ruralx2 if eligible==1
eststo
esttab using TableSM6_20210915.rtf, compress b(%9.2f) star(* 0.05 ** 0.01) se coeflabel(checkmail "Check mail" checkelec "Direct dep" income "Income" under40k "Under 40k" white  "White" dem "Democrat" rep "Republican" highedx2 "Higher educ" female "Female" age "Age" ruralx2 "Rural") mtitles("Ologw" "Ologw") title("Logit coefficients reflecting effects of receiving coronavirus stimulus check bearing president's name by mail on likelihood of voting for him (6-point scales) May 4-11, 2020 as estimated using ordinal logit with propensity weights (Ologw)") fonttbl(\f0\fnil Times New Roman; ) replace 
eststo clear

*Table SM7
eststo clear
regress vottrx6 checkmail income under40k white dem rep highed female age ruralx2 if eligible==1 & rep==1 & checkelec~=1
eststo: margins, dydx(checkmail)
regress vottrx6 checkmail income under40k white dem rep highed female age ruralx2 if eligible==1 & rep==0 & checkelec~=1
eststo: margins, dydx(checkmail)
regress vottrx6 checkmail income under40k white dem rep highed female age ruralx2 if eligible==1 & dem==1 & checkelec~=1
eststo: margins, dydx(checkmail)
regress vottrx6 checkmail income under40k white dem rep highed female age ruralx2 if eligible==1 & rep==0 & dem==0 & checkelec~=1
eststo: margins, dydx(checkmail)
regress vottrx6 checkmail income under40k white dem rep highed female age ruralx2 if eligible==1 & trumpvot16x2elig==1 & checkelec~=1
eststo: margins, dydx(checkmail)
regress vottrx6 checkmail income under40k white dem rep highed female age ruralx2 if eligible==1 & trumpvot16x2elig==0 & checkelec~=1
eststo: margins, dydx(checkmail)
regress vottrx6 checkmail income under40k white dem rep highed female age ruralx2 if eligible==1 & clinvot16x2elig==1 & checkelec~=1
eststo: margins, dydx(checkmail)
regress vottrx6 checkmail income under40k white dem rep highed female age ruralx2 if eligible==1 & trumpvot16x2elig==0 & clinvot16x2elig==0 & checkelec~=1
eststo: margins, dydx(checkmail)
esttab using TableSM7_20210915.rtf, compress b(%9.2f) star(+ .1 * 0.05 ** 0.01) se coeflabel(checkmail "Check in mail") mtitles("R" "NoR" "D" "NoR-D" "Tvot" "NoTvot" "Cvot" "NoC-T") title("Effect of receiving coronavirus stimulus check with President Donald Trump's name on it (by mail) relative to receiving the same payment by direct deposit on the likelihood of voting for Trump (6-point scale) among groups with different priors (Republican "R", not Republican "NoR", Democrat "D", not Republican or Democrat "NoR-D", Trump voter "Tvot", not Trump voter "NoTvot", Clinton voter "Cvot", not Clinton or Trump voter "NoC-T"), May 4-11, 2020  (OLSmodel, unweighted, full set of controls included but not reported here)") fonttbl(\f0\fnil Times New Roman; ) replace 
eststo clear


